我们有一个使用Storyboard的OSX10.10应用程序正在生产中。该项目完全用Swift编写,但我不确定这与以下问题的相关性如何。有时,我们在尝试从Storyboard加载ViewController或窗口Controller时会看到这样的崩溃:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“路径似乎没有有效的已编译Storyboard...”这种情况很少发生,甚至对于一个用户来说也不是始终如一的。它可能会崩溃一次,但之后工作正常。有人见过类似的东西吗?这是从哪里来的任何想法?提交雷达?谢谢! 最佳答案
我正在开发osx应用程序。我想将Gif图像粘贴到粘贴板中。我该怎么做?我有的是NSImageNSPasteboard我想做的是将该图像粘贴到粘贴板中。我可以粘贴PNG图片,但我需要粘贴GIF图片。我现有的代码letimageURL=imageObject.imageURL!letfileName=imageURL.lastPathComponentvarsaveURL=NSURL(string:"file://"+NSTemporaryDirectory())saveURL=saveURL?.URLByAppendingPathComponent(fileName!)//Ihaveda
我在使用自定义NSMenuItem()时遇到问题。到目前为止,我已经创建了一个类:classAllCurrencyList:NSView{@IBOutletvarallccyimage:NSImageView!@IBOutletvarallccytext:NSTextField!}我已经用上面提到的两个IBOutlet创建了一个xib,但我很难在我的菜单中使用它。这是我正在尝试做的事情:letmenu=NSMenu()letitem=NSMenuItem()item.view=AllCurrencyList//Igettheerror[Cannotassignavalueoftype'
我创建了一个辅助应用程序,它将在macOS登录时启动主应用程序。为此,我遵循thistutorial.一切正常,但不幸的是,助手应用程序未显示在首选项的登录项中。如何让助手应用出现在用户的登录项中,例如iTunesHelper和Dropbox? 最佳答案 Apple文档中有以下信息:AddingLoginItemsTherearetwowaystoaddaloginitem:usingtheServiceManagementframework,andusingasharedfilelistLoginitemsinstalledusi
我对swift数组的行为感到很困惑。在以下示例中,当我尝试向数组inboxDocuments添加新元素时,在运行时遇到EXC_BAD_ACCESS错误。importCocoaclassAppDelegate:NSObject,NSApplicationDelegate{@IBOutletvarwindow:NSWindowvarinboxDocuments:[ArchiveDocumentFile]=[]funcapplicationDidFinishLaunching(aNotification:NSNotification?){vardocFile=ArchiveDocumentF
我正在尝试实现窗口切换(我在Objective-C中做过很多次),但现在是在Swift中。看起来我错误地使用了NSWindowOcclusionState.Visible,但我真的看不到我的问题。在创建初始窗口后,仅调用w.makeKeyAndOrderFront(self)行。有什么建议吗?varfileArchiveListWindow:NSWindow?=nil@IBActionfunctougleFileArchiveList(sender:NSMenuItem){ifletw=fileArchiveListWindow{ifw.occlusionState==NSWindow
如果用户未授予权限,则在macOSMojave中为相机初始化AVCaptureDeviceInput会失败。尝试初始化时,系统会自动显示权限请求对话框。似乎没有办法获得用户响应的通知。+(instancetype)deviceInputWithDevice:(AVCaptureDevice*)device错误:(NSError*_Nullable*)outError;https://developer.apple.com/documentation/avfoundation/avcapturedeviceinput/1450880-deviceinputwithdevice我正在寻找一
使用MacOSMojave中的新暗模式,我想更改我的应用程序的菜单栏图标。默认情况下,它是一只白色的黑色熊,而不是仅仅反转颜色,我想使用一只正在打瞌睡的熊的图标。我的所有代码都在applicationDidFinishLaunching中的AppDelegate中设置菜单栏图标。所以我的问题是:有没有办法检查暗模式是否已激活,然后使用swift4更改图标?我试过:varinDarkMode:Bool{letmode=UserDefaults.standard.string(forKey:"AppleInterfaceStyle")returnmode=="Dark"}然后是一个if语句
我正在构建一个状态栏应用程序,它在单击时会在其状态项下方打开一个NSWindow,类似于Dropbox应用程序:但是,当我在全屏应用程序(例如邮件)中测试它时,屏幕会切换回我的主桌面屏幕并在那里显示窗口,而不是像dropbox那样将窗口覆盖在全屏应用程序上:是否可以在另一个应用程序的全屏模式下显示NSStatusItem的NSWindow下拉菜单?我见过其他项目,比如VadimShpakovski'sPopup,但我真的希望内容位于实际的NSWindow中。顺便说一句,我也尝试过使用NSPopover而不是NSWindow,但是全屏模式也有问题,asImentionedinanothe
我正在尝试在macOS上设置一个简单的OpenGL游戏,使用NSTimer设置运行循环,如here所述.这个想法是创建一个具有非常小(~1ms)时间间隔的重复计时器,并依靠vsync来调节帧速率。我将我的NSOpenGLContext交换间隔设置为值1,这应该启用垂直同步。我的印象是这会导致NSOpenGLContext.flushbuffer阻塞,但事实并非如此。我的渲染代码每秒触发60次以上。我链接的文档已被标记为已停用,但我读过的所有官方文档都表明可以以某种方式将NSTimer循环限制为显示的刷新率。不过,我还没有成功,我想知道这种方法是否不再可行。我错过了什么吗?在现代项目中,